Napomena: Ukoliko se tema radi u grupi, jedan kandidat može realizovati klijentsku i jedan kandidat serversku stranu.
Napraviti anketarsku veb aplikaciju. Ona treba da sa servera koji je realizovan kao SOAP ili REST server preuzima sve ankete koje su aktuelne. Popunjena anketa treba da pozivom drugih metoda servisa vraća rezultate ankete na server. Pitanja na anketama imaju sledeće osobine:
Mogu biti obavezna ili neobavezna za odgovaranje. Obavezna pitanja su označena sa *.
Mogu imati tačno jedan predefinisan odgovor
Mogu imati jedan ili više predefinisanih odgovora
Mogu imati odgovore u vidu teksta za unos
Mogu biti zavisna od odgovora ne prethodno postavljena pitanja
Anketa prikuplja i geografske podatke o mestu anketiranja
Predvideti upload slike kao i generalni komentar koji nije pokriven
Aplikacija mora imati sledeće osobine:
Responsive dizajn
Podržava offline režim rada. Tada radi sa prethodno preuzetim anketama, dozvoljava lokalni unos podataka, a sihnronizaciju podataka sa serverom radi kada pređe u online režim rada
Aplikacija treba da bude hostovana na Tomcat serveru
Backend treba da bude realizovan u Javi, frontend u HTML-u i JavaScriptu
Višejezična na srpskom i engleskom jeziku
Serverska strana treba da obezbedi okruženje u kom će biti moguće definisati nove ankete sa svim svojim osobinama (period važnosti, pitanja…). Takođe, serverska strana treba da obezbedi API za čitanje definisanih anketa i za upis rezultata anketa. Serverska strana treba da ima sledeće osobine:
Da bude realizovana u Java programskom jeziku
Da čuva podatke u nekoj od relacionih baza (PostgreSQL, MySql)
Alternativno, podaci se mogu čuvati u nekoj NOSQL bazi (Cassandra, Mongo)
Svoje metode serverska strana otvara preko SOAP ili REST servisa
Veb servis treba da bude hostovan na Tomcat aplikativnom serveru